A register can be a portion of a hardware used as a storage location. An example of a register can include a portion of a central processor unit used for storage of information. Another example of a register can include a portion of a video memory used for storage by video graphic cards. Information stored in a register can include configuration information, information associated with the initialization of the hardware, and other information.
Flash memory may be configured as a register. However, flash memory requires high voltage charge pumps that require specialized designs. Furthermore, flash memory requires complex programming algorithms that result in a large amount of logic. Electronically Erasable Programmable Read-Only Memory (EEPROM) also may be configured as a register. Still, the EEPROM requires a charge pump and the process of configuring the EEPROM as a register is complicated and is subject to a high failure rate. As a result, there is a need for continuing efforts to improve non-volatile registers.